package web.administrador;

import Persistencia.Fisioterapeuta;
import controladores.ControladorFisioterapeuta;
import dominio.login;
import org.springframework.web.servlet.mvc.Controller;
import org.springframework.web.servlet.ModelAndView;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import java.io.IOException;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import org.springframework.web.servlet.view.RedirectView;
/**
 * Este controlador se encarga de listar los fisioterapeutas y redireccionar esta lista a las diferentes paginas que la requieran.
 * 
 */
public class ControladorListarFisio implements Controller{
    protected final Log logger = LogFactory.getLog(getClass());
    ControladorFisioterapeuta controlador;
    @Override
    public ModelAndView handleRequest(HttpServletRequest hsr, HttpServletResponse hsr1) throws Exception {
        
        logger.info("ControladorListarFisio view");
        controlador = new ControladorFisioterapeuta();
        String tipo = hsr.getParameter("tipo");
        if(tipo!=null){
            if(tipo.equals("eliminar")){
                return new ModelAndView("eliminarFisioterapeuta", "model", controlador.encontrarFisioterapeutas());
            }
            if(tipo.equals("modificar")){
                return new ModelAndView("administrarFisioterapeutas", "model", controlador.encontrarFisioterapeutas());
            }
            if(tipo.equals("revisar")){
                return new ModelAndView("revisarFisioterapeutas", "model", controlador.encontrarMisFisioterapeutas(hsr.getParameter("id_fisio")));
            }
            else{
                return new ModelAndView("administrarCoordinadores", "model", controlador.encontrarCoordinadores());
            }
        } else {
            String id = hsr.getParameter("id_fisio");
            Fisioterapeuta ob = null;
            List<Fisioterapeuta> obj = controlador.encontrarFisioterapeutas();
            System.out.println(obj);
            if(obj!=null){
                for(int i=0;i<obj.size();i++){
                    if(id.equals(""+obj.get(i).getIdFisioterapeuta())){
                        ob = obj.get(i);
                    }
                }
            }
            if(ob!=null){
                System.out.println("ob  controladorListarFisio ---> "+ob);
                RedirectView r = new RedirectView("modificarFisioterapeuta.htm");
                ModelAndView modelo = new ModelAndView(new RedirectView("modificarFisioterapeuta.htm"));
                System.out.println("paso ");
                modelo.addObject("modFisio",ob);
                
                System.out.println("cree modelo  "+modelo);
                System.out.println("modelo anterior "+new ModelAndView("modificarFisioterapeuta","modFisio",ob));
                return new ModelAndView("modificarFisioterapeuta","modFisio",ob);                
            }else{
                return new ModelAndView("administrarFisioterapeutas", "model", controlador.encontrarFisioterapeutas());
            }
        }
        
    }

    
}
